1. Field of the Invention
The present invention generally relates to a method, system, program product and state machine representation for encrypting and/or decrypting a message. Specifically, the present invention allows a message of data values to be encrypted and/or decrypted based on a string of values corresponding to a path of transitional vectors followed in a state machine representation.
2. Background Art
As the use of computer technology grows, security in message transmission is becoming an increasing concern. Specifically, today many businesses and governments transmit information over computer networks such as the Internet. In many cases, the information transmitted is of a secretive nature. For example, a business might need to transmit valuable trade secret information from one facility to another. Governments might need to transmit sensitive military or strategic information to allies and forces abroad. In any of these cases, the secret nature of the information must never be compromised.
To date, many systems for encrypting or otherwise securing data have been developed. One common methodology is to use a security key that is a pseudo-random number. The security key is used as an exclusive-OR (XOR) value against bytes in the data. Typically, the pseudo-random number is generated using a method known to both the sender and the intended recipient of the data. Once encrypted, the data is transmitted to the recipient who can then decrypt the data using a “seed” value and the pseudo-random number. Generally, a pseudo-random number generator on the sender side generates a new random number for each sequence of bytes to be encrypted. A pseudo-random number generator on the recipient side will generate the same sequence of pseudo-random numbers to decrypt the data. In methods such as these, there is a one to one correspondence of encrypted bytes to source bytes.
Unfortunately, related methods such as these create various security risks. For example, the encryption can be broken through trial and error. Specifically, security under these methods relies the complexity of the pseudo-random number (i.e., the “mask”). The more bits the mask has, the longer it will take to decrypt the message. However, given the advanced nature of today's computer technology, any encrypted data set (regardless of bit quantity in the mask) can be decrypted through trial and error in finite time.
In view of the foregoing, there exists a need for a method, system, program product and state machine representation for encrypting and/or decrypting a message. Specifically, a need exists for a message of data values to be encrypted and/or decrypted based on a string of values corresponding to a path of transitional vectors followed in a state machine representation. Further, a need exists for a system in which there need not be any necessary relationship between encrypted bytes and source bytes.